<?php

/*
 * This file is part of the phpems/phpems.
 *
 * (c) oiuv <i@oiuv.cn>
 *
 * 项目维护：oiuv(QQ:7300637) | 定制服务：火眼(QQ:278768688)
 *
 * This source file is subject to the MIT license that is bundled.
 */

/**
 * 刷卡支付实现类.
 *
 * @author widyhu
 */
class NativePay
{
    /**
     * 生成扫描支付URL,模式一
     *
     * @param BizPayUrlInput $bizUrlInfo
     */
    public function GetPrePayUrl($productId)
    {
        $biz = new WxPayBizPayUrl();
        $biz->SetProduct_id($productId);
        $values = WxpayApi::bizpayurl($biz);
        $url = 'weixin://wxpay/bizpayurl?'.$this->ToUrlParams($values);

        return $url;
    }

    /**
     * 参数数组转换为url参数.
     *
     * @param array $urlObj
     */
    private function ToUrlParams($urlObj)
    {
        $buff = '';
        foreach ($urlObj as $k => $v) {
            $buff .= $k.'='.$v.'&';
        }

        $buff = trim($buff, '&');

        return $buff;
    }

    /**
     * 生成直接支付url，支付url有效期为2小时,模式二.
     *
     * @param UnifiedOrderInput $input
     */
    public function GetPayUrl($input)
    {
        if ('NATIVE' == $input->GetTrade_type()) {
            $result = WxPayApi::unifiedOrder($input);

            return $result;
        }
    }
}
